package com.ruoyi.business.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 收款账号对象 t_recipient_info
 * 
 * @author ruoyi
 * @date 2024-02-26
 */
@Data
@JsonInclude(JsonInclude.Include.NON_NULL)
public class TRecipientInfo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /**  */
    private Long id;

    /** 用户id */
    @Excel(name = "用户id")
    private Long userId;

    private String userName;

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    /** 是否平台收款账号 */
    @Excel(name = "是否平台收款账号")
    private Integer platformIs;

    /** 指定渠道编码 */
    @Excel(name = "指定渠道编码")
    private String channel;

    private String channelName;

    /** 支付通道类型 */
    @Excel(name = "支付通道类型")
    private String channelType;

    /** 支付通道的账号。例如：支付宝手机号，微信手机号 */
    @Excel(name = "支付通道的账号。例如：支付宝手机号，微信手机号")
    private String channelAccount;

    /** 通道是否被禁用 */
    @Excel(name = "通道是否被禁用")
    private Integer channelDisabled;

    /** 银卡ID */
    @Excel(name = "银卡ID")
    private Long cardId;

    /** 银行卡号 */
    @Excel(name = "银行卡号")
    private String cardNo;

    /** 支付宝cardid */
    @Excel(name = "支付宝cardid")
    private String alipayCardid;

    /** 实名 */
    @Excel(name = "实名")
    private String realName;

    /** 服务于指定用户 */
    @Excel(name = "服务于指定用户")
    private Long serveMerId;

    private Long[] ids;

    /** 是否可用 */
    @Excel(name = "是否可用")
    private Integer available;

    /** 是否在线 */
    @Excel(name = "是否在线")
    private Integer online;

    /** 上一次心跳时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "上一次心跳时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date lastHeartbeat;

    /** 是否需要客户端在线 */
    @Excel(name = "是否需要客户端在线")
    private Integer needOnline;

    /** 收款账号信息 */
    @Excel(name = "收款账号信息")
    private String accountJson;

    /** 收款二维码 */
    @Excel(name = "收款二维码")
    private String receiptQrcode;

    /** 手机序列号imei */
    @Excel(name = "手机序列号imei")
    private String imei;

    /** 设备信息 */
    @Excel(name = "设备信息")
    private String deviceInfo;

    /** 每天最高收取金额 */
    @Excel(name = "每天最高收取金额")
    private Long limitDayMoney;

    /** 今天已收金额 */
    @Excel(name = "今天已收金额")
    private Long todayMoney;

    /** 最高允许收款 */
    @Excel(name = "最高允许收款")
    private Long limitMaxMoney;

    /** 总收取金额 */
    @Excel(name = "总收取金额")
    private Long totalMoney;

    /** 是否店长模式 */
    @Excel(name = "是否店长模式")
    private Integer shopManager;

    /** 店长昵称 */
    @Excel(name = "店长昵称")
    private String shopNickname;

    /** 店员的账号 */
    @Excel(name = "店员的账号")
    private String shopClerkAccount;

    /** 店员监控客户端是否在线 */
    @Excel(name = "店员监控客户端是否在线")
    private Integer shopClerkOnline;

    /** 总的成功收款笔数 */
    @Excel(name = "总的成功收款笔数")
    private Long totalCount;

    /** 限制总的成功收款笔数 */
    @Excel(name = "限制总的成功收款笔数")
    private Long limitMaxCount;

    /** 今日成功收款笔数 */
    @Excel(name = "今日成功收款笔数")
    private Long todayCount;

    /** 限制今日成功收款笔数 */
    @Excel(name = "限制今日成功收款笔数")
    private Long limitDayCount;

    /** 二维码金额 */
    @Excel(name = "二维码金额")
    private Long supportAmount;

    /** PAYJS秘钥 */
    @Excel(name = "PAYJS秘钥")
    private String payJsKey;

    /** 最后产码时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "最后产码时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date lastCreateBillTime;

    /** 身份证姓名 */
    @Excel(name = "身份证姓名")
    private String idCardName;

    /** 身份证号码 */
    @Excel(name = "身份证号码")
    private String idCardNo;

    /** 手机号码 */
    @Excel(name = "手机号码")
    private String phoneNo;

    /** 京东买手号 */
    @Excel(name = "京东买手号")
    private String jdBuyerId;

    /** 思语cookie */
    @Excel(name = "思语cookie")
    private String cookie;

    /** 今日临时总收款 */
    @Excel(name = "今日临时总收款")
    private Long todayTmpMoney;

    /** 京东电费缴费城市 */
    @Excel(name = "京东电费缴费城市")
    private String jdDfCityId;

    /** 电费缴费单位 */
    @Excel(name = "电费缴费单位")
    private String jdDfUnitId;

    /** 电费余额 */
    @Excel(name = "电费余额")
    private Long jdDfBlance;

    /** 单笔限额 */
    @Excel(name = "单笔限额")
    private Long onecePayLimit;

    /** 登录类型 */
    @Excel(name = "登录类型")
    private String loginType;

    /** 归属省份 */
    @Excel(name = "归属省份")
    private String province;

    /** 归属城市 */
    @Excel(name = "归属城市")
    private String city;

    /**  */
    @Excel(name = "")
    private String bankName;

    /**  */
    @Excel(name = "")
    private String disabledInfo;

    /**  */
    @Excel(name = "")
    private Long createUser;

    /**  */
    @Excel(name = "")
    private Long updateUser;

    /**  */
    @Excel(name = "")
    private String weiShu;

    private Long agentUid;

    private Long money;

    private String passWord;

    private String smsCode;

    private String ylKey;

    private String vercode;

    private String vercodeRandomStr;

    private String certAliPublicPath;

    private String certAliPrivateKey;

    private String certAppPublicPath;

    private String certAliRootPath;

    private String aliPublicKey;

    private String aliPrivateKey;

    private String isvId;

    private String loginUrl;


    private String channelVal;
    private String cityVal;

    private String provinceName;
    private String cityName;

    private String loginCk;

    private String groupName;

    private BigDecimal testMoney;

    private String  returnJson;

    private String lklShopname;
    private String lklShopno;
    private String lklTermno;


    private String gameUrl;
    private String gamePid;
    private String gameKey;
    private String gamepayType;
    private String gamepayMethod;


    private String yyqCk;
    private String yyqUserId;
    private String yyqOrderSubject;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "最后开启时间", dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date lastOpenTime;

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("userId", getUserId())
            .append("platformIs", getPlatformIs())
            .append("channel", getChannel())
            .append("channelType", getChannelType())
            .append("channelAccount", getChannelAccount())
            .append("channelDisabled", getChannelDisabled())
            .append("cardId", getCardId())
            .append("cardNo", getCardNo())
            .append("alipayCardid", getAlipayCardid())
            .append("realName", getRealName())
            .append("serveMerId", getServeMerId())
            .append("available", getAvailable())
            .append("online", getOnline())
            .append("lastHeartbeat", getLastHeartbeat())
            .append("needOnline", getNeedOnline())
            .append("accountJson", getAccountJson())
            .append("receiptQrcode", getReceiptQrcode())
            .append("imei", getImei())
            .append("deviceInfo", getDeviceInfo())
            .append("limitDayMoney", getLimitDayMoney())
            .append("todayMoney", getTodayMoney())
            .append("limitMaxMoney", getLimitMaxMoney())
            .append("totalMoney", getTotalMoney())
            .append("shopManager", getShopManager())
            .append("shopNickname", getShopNickname())
            .append("shopClerkAccount", getShopClerkAccount())
            .append("shopClerkOnline", getShopClerkOnline())
            .append("totalCount", getTotalCount())
            .append("limitMaxCount", getLimitMaxCount())
            .append("todayCount", getTodayCount())
            .append("limitDayCount", getLimitDayCount())
            .append("supportAmount", getSupportAmount())
            .append("payJsKey", getPayJsKey())
            .append("lastCreateBillTime", getLastCreateBillTime())
            .append("idCardName", getIdCardName())
            .append("idCardNo", getIdCardNo())
            .append("phoneNo", getPhoneNo())
            .append("jdBuyerId", getJdBuyerId())
            .append("cookie", getCookie())
            .append("todayTmpMoney", getTodayTmpMoney())
            .append("jdDfCityId", getJdDfCityId())
            .append("jdDfUnitId", getJdDfUnitId())
            .append("jdDfBlance", getJdDfBlance())
            .append("onecePayLimit", getOnecePayLimit())
            .append("loginType", getLoginType())
            .append("province", getProvince())
            .append("city", getCity())
            .append("bankName", getBankName())
            .append("disabledInfo", getDisabledInfo())
            .append("createUser", getCreateUser())
            .append("updateUser", getUpdateUser())
            .append("weiShu", getWeiShu())
            .toString();
    }
}
